package deeloco.android.meteoclimatic.donate.net;


import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;

/**
 * Clase que da información sobre el estado de la conexión a Internet
 * @author Antonio
 *
 */
public class estadoConexion 
{

    private static estadoConexion instance = new estadoConexion();
    static Context context;
    ConnectivityManager connectivityManager;
    NetworkInfo wifiInfo, mobileInfo;
    boolean connected = false;

    /**
     * Crea una instancia estática de la clase
     * @param ctx
     * @return
     */
    public static estadoConexion getInstance(Context ctx) 
    {
        context = ctx;
        return instance;
    }

    /**
     * Devuelve si el dispositivo esta online o no
     * @param con Context
     * @return boolean
     */
    public boolean isOnline(Context con) 
    {
        try 
        {
            connectivityManager = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
            connected = networkInfo != null && networkInfo.isAvailable() && networkInfo.isConnected();
            return connected;
        } 
        catch (Exception e) 
        {
            Log.v("connectivity", e.toString());
        }
        return connected;
    }
    
    //Crear un método que devuelva que tipo de conexión tiene: wifi, 3G, ...
}
